<?php
// Tạo ID cho profile
$pid = db_next_id ('{dvbanner_profile}_pid');

// Nếu có tải tập tin default image/logo
$image = file_check_upload ('image');
$logo = file_check_upload ('logo');

if ($image || $logo) {
	// Tạo thư mục chứa các tập tin của profile khi cần thiết
	$profile_path = 'files/dvbanner/profiles/' . $pid;
	file_check_directory ($profile_path, FILE_CREATE_DIRECTORY);
	
	// Nếu tải lên ảnh mặc định
	if ($image) {
		if ($image 	= file_save_upload ($image, $profile_path . '/' . $image->filename)) {
			$form_values['image'] = $image->filepath;
		}
	}
	
	// Nếu tải lên logo
	if ($logo) {
		if ($logo 	= file_save_upload ($logo, $profile_path . '/' . $logo->filename)) {
			$form_values['logo'] = $logo->filepath;
		}
	}
}

// Tạo biến $data để phù hợp cho việc lưu trữ  
foreach ($form_values as $key => $val) {
	// Không cần lưu các giá trị rỗng hoặc 'default'
	if ($val != 'default') {
		// chỉ chấp nhận một số field xác định
		$allowed_fields = array (
			'height', 'width', 'image', 
			'backcolor', 'frontcolor', 'lightcolor', 'screencolor', 
			'logo', 'overstretch', 'showicons', 'showeq', 
			'shownavigation', 'showstop', 'showdigits', 'usefullscreen', 'showdownload',
		  'autostart', 'repeat', 'shuffle', 'rotatetime'
		);
		
		if (in_array ($key, $allowed_fields)) {
			$data[$key] = $val;
		}
	}
}

// Truy vấn
if (count ($data)) {
	db_query (
		"INSERT INTO {dvbanner_profile} (pid, name, data) VALUES (%d, '%s', '%s')",
		$pid, $form_values['name'], serialize ($data)
	);
}

// Thông báo
drupal_set_message (t(
	"Created player profile <strong>!name</strong>.", 
	array ('!name' => check_plain ($form_values['name'])
)));

// Chuyển hướng người dùng
drupal_goto ('admin/build/block/dvbanner/profiles');
